package com.mmf.dao;

import com.mmf.model.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * Created by MMF on 2017-07-28.
 */
public interface IGoodsDao {
    /**
     * 插入图片的记录
     *
     * @param imgName
     * @param goodsId
     * @return
     */
    int insertFile(@Param("imgName") String imgName, @Param("goodsId") int goodsId, @Param("type") int type);

    /**
     * 插入商品的详细数据
     *
     * @param goodsDetail
     * @return
     */
    int insertGoods(GoodsDetail goodsDetail);

    /**
     * 获取商品的详细信息
     *
     * @param id
     * @return
     */
    GoodsDetail getGoodsDetail(@Param("id") int id, @Param("userId") int userId);

    /**
     * 获取商品的图片信息
     *
     * @param goodsId
     * @return
     */
    List<GoodsImg> getGoodsImg(@Param("goodsId") int goodsId, @Param("types") List<Integer> types);

    List<Comment> getGoodsComment(@Param("goodsId") int goodsId);

    /**
     * 获取商品列表
     *
     * @param page
     * @return
     */
    List<GoodsList> getGoodsList(@Param("page") Page page);

    /**
     * 收藏商品
     *
     * @param userId
     * @param goodsId
     * @return
     */
    int collect(@Param("userId") Integer userId, @Param("goodsId") Integer goodsId);

    /**
     * 修改收藏数量
     *
     * @param goodsId
     * @return
     */
    int upDataCollectNum(@Param("goodsId") Integer goodsId);

    /**
     * 取消收藏商品
     *
     * @param userId
     * @param goodsId
     * @return
     */
    int cancelCollect(@Param("userId") Integer userId, @Param("goodsId") Integer goodsId);

    /**
     * 获取个人收藏的列表
     *
     * @param page
     * @param userId
     * @return
     */
    List<GoodsList> getCollectList(@Param("page") Page page, @Param("userId") Integer userId);
}
